package com.ruoyi.leases.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 租约管理对象 leases
 *
 * @author ruoyi
 * @date 2024-10-11
 */
public class Leases extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long leaseId;

    /** 租客姓名 */
    @Excel(name = "租客姓名")
    private String tenantName;

    /** 租客手机号 */
    @Excel(name = "租客手机号")
    private String phoneNumber;

    /** 身份证号码 */
    @Excel(name = "身份证号码")
    private String idCardNumber;

    /** 房间 */
    @Excel(name = "房间")
    private Long roomId;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /** 支付方式ID */
    @Excel(name = "支付方式ID")
    private Long paymentMethodId;

    /** 可选租期ID */
    @Excel(name = "可选租期ID")
    private Long rentalPeriodId;

    /** 租金 */
    @Excel(name = "租金")
    private BigDecimal rent;

    /** 押金 */
    @Excel(name = "押金")
    private BigDecimal deposit;

    /** 备注信息 */
    @Excel(name = "备注信息")
    private String notes;

    /** 租客id */
    @Excel(name = "租客id")
    private Long tenantId;
    private String nickName;

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    /** 户主id */
    @Excel(name = "户主id")
    private Long homeownerId;

    public void setLeaseId(Long leaseId)
    {
        this.leaseId = leaseId;
    }

    public Long getLeaseId()
    {
        return leaseId;
    }
    public void setTenantName(String tenantName)
    {
        this.tenantName = tenantName;
    }

    public String getTenantName()
    {
        return tenantName;
    }
    public void setPhoneNumber(String phoneNumber)
    {
        this.phoneNumber = phoneNumber;
    }

    public String getPhoneNumber()
    {
        return phoneNumber;
    }
    public void setIdCardNumber(String idCardNumber)
    {
        this.idCardNumber = idCardNumber;
    }

    public String getIdCardNumber()
    {
        return idCardNumber;
    }
    public void setRoomId(Long roomId)
    {
        this.roomId = roomId;
    }

    public Long getRoomId()
    {
        return roomId;
    }
    public void setStartDate(Date startDate)
    {
        this.startDate = startDate;
    }

    public Date getStartDate()
    {
        return startDate;
    }
    public void setEndDate(Date endDate)
    {
        this.endDate = endDate;
    }

    public Date getEndDate()
    {
        return endDate;
    }
    public void setPaymentMethodId(Long paymentMethodId)
    {
        this.paymentMethodId = paymentMethodId;
    }

    public Long getPaymentMethodId()
    {
        return paymentMethodId;
    }
    public void setRentalPeriodId(Long rentalPeriodId)
    {
        this.rentalPeriodId = rentalPeriodId;
    }

    public Long getRentalPeriodId()
    {
        return rentalPeriodId;
    }
    public void setRent(BigDecimal rent)
    {
        this.rent = rent;
    }

    public BigDecimal getRent()
    {
        return rent;
    }
    public void setDeposit(BigDecimal deposit)
    {
        this.deposit = deposit;
    }

    public BigDecimal getDeposit()
    {
        return deposit;
    }
    public void setNotes(String notes)
    {
        this.notes = notes;
    }

    public String getNotes()
    {
        return notes;
    }
    public void setTenantId(Long tenantId)
    {
        this.tenantId = tenantId;
    }

    public Long getTenantId()
    {
        return tenantId;
    }
    public void setHomeownerId(Long homeownerId)
    {
        this.homeownerId = homeownerId;
    }

    public Long getHomeownerId()
    {
        return homeownerId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("leaseId", getLeaseId())
                .append("tenantName", getTenantName())
                .append("phoneNumber", getPhoneNumber())
                .append("idCardNumber", getIdCardNumber())
                .append("roomId", getRoomId())
                .append("startDate", getStartDate())
                .append("endDate", getEndDate())
                .append("paymentMethodId", getPaymentMethodId())
                .append("rentalPeriodId", getRentalPeriodId())
                .append("rent", getRent())
                .append("deposit", getDeposit())
                .append("notes", getNotes())
                .append("tenantId", getTenantId())
                .append("homeownerId", getHomeownerId())
                .toString();
    }
}
